home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 46 / Amiga Format CD46 (1999-10-20)(Future Publishing)(GB)[!][issue 1999-12].iso / -in_the_mag- / reader_requests / scilab / tests / pow.tst < prev    next >
Text File  |  1999-09-16  |  3KB  |  83 lines

  1. //test with scalar vector and matrices
  2. x1=1:3;
  3. x0=0:2;
  4. if or(x1**2<>[1 4 9]) then pause,end
  5. if or(x0**2<>[0 1 4]) then pause,end
  6. if or(x1**0<>[1 1 1]) then pause,end
  7.  
  8. if norm(x1**(2*(1+%eps))-x1**2)>100*%eps then pause,end
  9. if norm(x0**(2*(1+%eps))-x0**2)>100*%eps then pause,end
  10.  
  11. if norm(x1**(-2)-[1 0.25 1/9])>100*%eps then pause,end
  12. if norm(x1**(-2*(1+%eps))-[1 0.25 1/9])>100*%eps then pause,end
  13.  
  14. p=2+%eps*%i;
  15. if norm(x1**p-x1**2)>100*%eps then pause,end
  16. if norm(x0**p-x0**2)>100*%eps then pause,end
  17. if norm(x1**(-p)-x1**(-2))>100*%eps then pause,end
  18.  
  19. y=%eps*%eps*ones(1,3);x1=x1+y;x0=x0+y;
  20. if norm(x1**2-[1 4 9])>100*%eps then pause,end
  21. if norm(x0**2-[0 1 4])>100*%eps then pause,end
  22.  
  23. x1**2.000000001;x0**2.000000001;
  24. if norm(x1**2-[1 4 9])>100*%eps then pause,end
  25. if norm(x0**2-[0 1 4])>100*%eps then pause,end
  26.  
  27. if norm(x1**(-2)-[1 0.25 1/9])>100*%eps then pause,end
  28. if norm(x1**(-2*(1+%eps))-[1 0.25 1/9])>100*%eps then pause,end
  29. if norm(x1**p-x1**2)>100*%eps then pause,end
  30. if norm(x0**p-x0**2)>100*%eps then pause,end
  31. if norm(x1**(-p)-x1**(-2))>100*%eps then pause,end
  32.  
  33. x1=[1 2;3 4];
  34. if or(x1**1<>x1) then pause,end
  35. if or(x1**(-1)<>inv(x1)) then pause,end
  36. if or(x1**2<>x1*x1) then pause,end
  37. if or(x1**(-2)<>inv(x1)**2) then pause,end
  38.  
  39. x1(1,1)=x1(1,1)+%i;
  40. if or(x1**2<>x1*x1) then pause,end
  41. if or(x1**(-2)<>inv(x1)**2) then pause,end
  42. if or(x1**1<>x1) then pause,end
  43. if or(x1**(-1)<>inv(x1)) then pause,end
  44.  
  45. if or(rand(4,4)**0<>eye(4,4)) then pause,end
  46.  
  47.  
  48. x1=[1 2;2 3];x2=x1**(1/2);
  49. if norm(x2**(2)-x1)>100*%eps then pause,end
  50. x2=x1**(-1/2);
  51. if norm(x2**(-2)-x1)>100*%eps then pause,end
  52.  
  53. //x1=[1 2+%i;2-%i 3];
  54. //x2=x1**(1/2);
  55. //if norm(x2**(2)-x1)>100*%eps then pause,end
  56. //x2=x1**(-1/2);
  57. //if norm(x2**(-2)-x1)>100*%eps then pause,end
  58.  
  59. //test with polynomial vector and matrices
  60. s=poly(0,'s');
  61. if or(coeff(s**3+1)<>[1 0 0 1]) then pause,end
  62.  
  63.  
  64. x1=[1 s+1 s**3+1];
  65. if or(x1**2<>[1 1+2*s+s**2  1+2*s**3+s**6]) then pause,end
  66. if or(coeff(x1**0)<>[1 1 1]) then pause,end
  67. if or(x1**3<>[1,1+3*s+3*s^2+s^3,1+3*s^3+3*s^6+s^9]) then pause,end
  68. if or((x1**(-1)-[1 1/(1+s)  1/(1+s**3)])<>0) then pause,end
  69.  
  70. x1=[s+1 2*s;3+4*s^2 4];
  71. if or(x1**1<>x1) then pause,end
  72. if or(x1**(-1)<>inv(x1)) then pause,end
  73. if or(x1**2<>x1*x1) then pause,end
  74. if or(x1**(-2)<>inv(x1)**2) then pause,end
  75.  
  76. x1(1,1)=x1(1,1)+%i;
  77. if or(x1**2<>x1*x1) then pause,end
  78. //if or(x1**(-2)<>inv(x1)**2) then pause,end  //simp complexe non implemented
  79. if or(x1**1<>x1) then pause,end
  80. //if or(x1**(-1)<>inv(x1)) then pause,end //simp complexe non implemented
  81.  
  82.  
  83.